from rest_framework.pagination import PageNumberPagination
from rest_framework.response import Response

class CustomPageNumberPagination(PageNumberPagination):
    page_size = 10  # 每页显示10条
    page_size_query_param = 'page_size'  # 客户端可以指定 page_size
    max_page_size = 1000  # 最大的 page_size
    page_query_param = 'pageNo'

    def get_paginated_response(self, data):
        """
        自定义返回格式，将分页信息放入 `data` 字段
        """
        return Response({
            'data': data,  # 这里是分页结果
            'total': self.page.paginator.count,  # 总记录数
            'current_page': self.page.number,  # 当前页码
            'total_pages': self.page.paginator.num_pages,  # 总页数
            'page_size': self.page.paginator.per_page  # 每页显示的记录数
        })
